1 using System;
2 using System.Collections;
3 using System.Collections.Generic;
4 using System.ComponentModel;
5 using System.Drawing;
6 using System.Data;
7 using System.Linq;
8 using System.Text;
9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11 using System.Globalization;
12
13 namespace SoftQuanLyNhaHang.Views
14 {
15
16 public delegate void BtnClick_NhapHang_ChiTiet_EventHandler(object sender, EventArgs e, int IdNhapHang, int NhaCungCapId, string trangThaiNhapHang);
17
18 public partial class uctNhapHang : UserControl
19 {
20
21 public event BtnClick_NhapHang_ChiTiet_EventHandler btnClickSendLink_NhapHang_ChiTiet;
22
23 public static uctNhapHang uctNH = new uctNhapHang();
24
25 public uctNhapHang()
26 {
27 InitializeComponent();
28 }
29
30 private int _getNhapHangId = 0;
31 private int _getNhaCungCapId = 0;
32
33 //--https://www.codeproject.com/Questions/157356/Perform-action-when-changing-selected-item-in-a-co
34 //ComboBox cbm;
35 //--http://camposha.info/source/c-datagridview-combobox-column-selection-event/
36 //ComboBox combo;
37 //DataGridViewCell currentCell;
38 DataTable dtT = new DataTable();
39
40 //gioi han textchange
41 bool loadlandau = true;
42
43 /*
44 private static double _thue_mh;
45 protected double Thue_mh
46 {
47 get
48 {
49 return _thue_mh;
50 }
51 set
52 {
53 _thue_mh = value;
54 }
55 }
56 */
57 private static string _chietKhau_theo;
58 protected string ChietKhau_Theo
59 {
60 get
61 {
62 return _chietKhau_theo;
63 }
64 set
65 {
66 _chietKhau_theo = value;
67 }
68 }
69
70 private static double _tongmotmhclickDgv;
71 protected double TongMotMatHangClickDgv
72 {
73 get
74 {
75 return _tongmotmhclickDgv;
76 }
77 set
78 {
79 _tongmotmhclickDgv = value;
80 }
81 }
82
83 private static double _tongmotdonhang;
84 protected double TongMotDonHang
85 {
86 get
87 {
88 return _tongmotdonhang;
89 }
90 set
91 {
92 _tongmotdonhang = value;
93 }
94 }
95
96 double _tongDonHang = 0;
97 double _tongDonHangAll = 0;
98 //double _tongMotMatHang = 0;
99 double _thueMotMatHang = 0;
100 double _noNhaCc = 0;
101 double _tienThanhToan = 0;
102
103
104
105 //Bảng nhập hàng
106 //int _IdNhapHang = 0;
107
108
109 DateTime _NgayTao = DateTime.Now;
110 string _TrangThai_NH = "NhapHangMoi";
111 double _GiamGiaDonHang = 0;
112 double _GiamGiaTatCaCacMuc = 0;
113 double _TongDonHang = 0;
114 //double _No_NCC = 0;
115 double _NCC_NoChuCuaHang = 0;
116 string _GhiChu = string.Empty;
117 //int NhaCungCapId = 0;
118 double _ChiPhiThem = 0;
119 string _MoTaChiPhiThem = string.Empty;
120 string _TenDonHang = string.Empty;
121
122 //double tongTienMot_DonHang_TruMatHangDangEdit = 0;
123 //double tongTienTrongDonHangTruSanPhamDangEDIT = 0;
124 //double tongTienMot_MatHang_ClickTuDgv = 0;
125 //double tongTienMot_MatHang_DangEdit = 0;
126
127 //double tongMotMatHangdgc_click = 0;
128 //double thueClickDgv = 0;
129
130 //Bảng kho
131 int _IdKho = 0;
132 string _MaSanPham = string.Empty;
133 string _MaVietTat = string.Empty;
134 string _TenSanPham = string.Empty;
135 int _NhomSanPhamId = 0;
136 int _DonViTinhId = 0;
137 int _DanhMucId = 0;
138 //int _NhaCungCapId = 0;
139 //int _NhapHangId = 0;
140 string _AnhDaiDien = string.Empty;
141 int _HanMucDatHang = 0;
142 string _HanSuDung = string.Empty;
143 string _NgaySanXuat = string.Empty;
144 DateTime _NgayHetHan = DateTime.Now;
145 string _MoTa = string.Empty;
146 double _GiaNhap = 0;
147 double _SoLuong = 0;
148 float _SoLuongDaBan = 0;
149 //double _Thue = 0;
150 double _ChietKhau_PhanTram = 0;
151 //double _ChietKhau_Tien = 0;
152
153 double _TiLeLoiNhuan = 0;
154 double _GiaBanLe = 0;
155 double _GiaBanBuon = 0;
156 double _GiaKhuyenMai = 0;
157
158 float _ThueBanHang = 0;
159 float _ChietKhauPTBanHang = 0;
160
161 DateTime _NgayBatDauGiamGia = DateTime.Now;
162 DateTime _NgayKetThuc = DateTime.Now;
163 //string _TrangThai_K = "SuDung";
164 //string _ChietKhauTheo = "PhanTram";
165 //string _txtCk = "0";
166 double _TienThue = 0;
167 double _TienChietKhau = 0;
168
169 //string txt_GNhap = "";
170 //string txt_SLuong = "";
171 //string txt_CK_PhanTram = "";
172 //string txt_Ck_TienMat = "";
173
174 //Bảng nhà cung cấp
175 //int _IdNhaCungCap = 0;
176 string _TrangThai_NCC = "SuDung";
177 DateTime _NgayTao_NCC = DateTime.Now;
178 string _HoVaTen_NCC = string.Empty;
179 string _SoDienThoai_NCC = string.Empty;
180 string _DiaChi_NCC = string.Empty;
181 string _TenCongTy_NCC = string.Empty;
182 string _Dc_Email_NCC = string.Empty;
183 DateTime _NgayThanhLap_NgaySinh_NCC = DateTime.Now;
184 string _AnhDaiDien_NCC = string.Empty;
185 string _GhiChu_NCC = string.Empty;
186
187 //Phân trang
188 int _pageSize = 30;
189 int _pageIndex = 1;
190 int _tongSoBanGhi = 0;
191 int _stt = 0;
192 //int _stt_thue = 0;
193 //int _tongSoTrang = 1;
194 int n = 0;
195
196 //cong no
197 //chi phi them > 0 thi them vao bang congno <=> thu chi
198 //int tc = 0;
199 //int _IdCongNo = 0;
200 //string _TieuDe = string.Empty;
201 //string _LoaiThuChi = "NhapHang";
202 //double _SoTien = 0;
203 //string _DienGiai = string.Empty;
204 // string _HinhThuc = "Chi";
205 // float thueThuChi = 0;
206
207 //Khởi tạo biến
208 DataTable dt = new DataTable();
209 DataTable dtCauHinh = new DataTable();
210
211 string value = "";
212 ulong ul = 0;
213 int i = 0;
214 //string replace_text = string.Empty;
215 //double _thanhTien = 0;
216 //string dieuKien = "ThemMoi";
217 //int rowIndex = 0;
218
219 int spNhapHang_CoTrongCSDL = 0;
220 DataTable dttt = new DataTable();
221 double tienDtt = 0;
222
223 private void uctNhapHang_Load(object sender, EventArgs e)
224 {
225
226 this.loadcontrol();
227
228 //Mac dinh tinh theo %
229 //this.rdoBtnChietKhau_PhanTram.Checked = true;
230 //this.rdoBtnChiPhiPhatSinh_PhanTram.Checked = true;
231
232 //Test hiển thị danh sách sản phẩm
233 //_IdNhapHang = 92;
234 //this.HienThiDanhSachSanPham_ByIdNhapHang();
235
236 //Control chuột để vào mã sản phẩm
237 this.txtMaSanPham.Focus();
238
239 //ẩn nút nhập mới
240 btnNhapMoi.Visible = false;
241
242 /*
243 //--https://www.codeproject.com/Questions/157356/Perform-action-when-changing-selected-item-in-a-co
244 // Create and fill a DataTable as a source of our combobox column
245 DataTable typedt = new DataTable();
246 typedt.Columns.Add("typeid", typeof(int));
247 typedt.Columns.Add("typename");
248 typedt.Columns.Add("typedescription");
249
250 typedt.Rows.Add(0, "0", "description0");
251 typedt.Rows.Add(5, "5", "description 5");
252 typedt.Rows.Add(10, "10", "description 10");
253 typedt.Rows.Add(11, "5", "description 5");
254 typedt.Rows.Add(12, "10", "description 10");
255 typedt.AcceptChanges();
256
257 // Fill the GridView source table
258 dt.Columns.Add("id");
259 dt.Columns.Add("Tên sản phẩm");
260 dt.Columns.Add("type", typeof(int));
261 dt.Columns.Add("Tiền thuế");
262
263 for (int i = 0; i < 50; i++)
264 {
265 dt.Rows.Add(i.ToString("000"), "name" + i, i % 4);
266 }
267
268
269 dt.AcceptChanges();
270
271 // Set the data source for the grid
272 dataGridView1.DataSource = dt;
273
274 // Create new combobox column and set it's data source
275 DataGridViewComboBoxColumn cbc = new DataGridViewComboBoxColumn();
276 cbc.DataPropertyName = "type";
277 cbc.DisplayMember = "typename";
278 cbc.ValueMember = "typeid";
279 cbc.DataSource = typedt;
280 cbc.HeaderText = "Thuế";
281
282 // Replace the third column of the grid view with the combobox column
283 dataGridView1.Columns.RemoveAt(2);
284 dataGridView1.Columns.Insert(2, cbc);
285
286 // We will handle these events of the DataGridView
287 dataGridView1.CellEndEdit += new DataGridViewCellEventHandler(dataGridView1_CellEndEdit);
288 dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);
289 */
290 }
291
292
293 private void HienThiDonViTinh_ComboBox()
294 {
295 Dictionary<string, string> comboSource = new Dictionary<string, string>();
296 comboSource.Add("0", "-- Chọn đơn vị tính --");
297 DataTable dtdvt = new DataTable();
298 dtdvt = Controllers.DonViTinhCtrl.FillDataSetDonViTinh_GetDanhSach().Tables[0];// Models.NhapKhoMod.FillDataSet_getTenDonViTinh().Tables[0];
299
300 if (dtdvt.Rows.Count > 0)
301 {
302 foreach (DataRow item in dtdvt.Rows)
303 {
304 comboSource.Add(item["IdDonViTinh"].ToString(), item["TenDonViTinh"].ToString());
305 }
306
307 }
308 cmbDonViTinh.DataSource = new BindingSource(comboSource, null);
309 cmbDonViTinh.DisplayMember = "Value";
310 cmbDonViTinh.ValueMember = "Key";
311 }
312
313
314 private void HienThi_Thue_ComboBox()
315 {
316 Dictionary<string, string> comboSource = new Dictionary<string, string>();
317
318 DataTable dtThue = new DataTable();
319 dtThue = Controllers.ThueCtrl.FillDataSetThue_GetShowDropdow().Tables[0];
320
321 if (dtThue.Rows.Count > 0)
322 {
323 foreach (DataRow item in dtThue.Rows)
324 {
325 comboSource.Add(item["Thue"].ToString(), item["Thue"].ToString());
326 }
327
328 }
329 cmbThue.DataSource = new BindingSource(comboSource, null);
330 cmbThue.DisplayMember = "Value";
331 cmbThue.ValueMember = "Key";
332 }
333
334
335 void loadcontrol()
336 {
337 this.HienThiDonViTinh_ComboBox();
338
339 this.HienThi_Thue_ComboBox();
340 }
341
342 private void HienThiDanhSachThue()
343 {
344
345 /*
346 dgvThue.Rows.Clear();
347
348 //Ẩn cột đầu tiên
349 //dgvThue.RowHeadersVisible = false;
350 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
351 //this.dgvThue.Columns["STT_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
352 //this.dgvThue.Columns["STT_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
353 //this.dgvThue.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
354
355 //this.dgvThue.Columns["Thue_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
356 //this.dgvThue.Columns["Thue_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
357
358 //this.dgvThue.Columns["TienThue_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
359 //this.dgvThue.Columns["TienThue_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
360
361
362
363 //select từ bảng kho
364 DataTable dtThue = new DataTable();
365
366 dtThue = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-1, _IdNhapHang, 1000, _pageIndex).Tables[0];
367
368
369 if (dtThue.Rows.Count > 0)
370 {
371
372 _stt_thue = 0;
373 btnLuuThayDoi.Visible = true;
374 //_tongSoBanGhi = Int32.Parse(dt.Rows[0]["TongSoBanGhi"].ToString());
375
376 foreach (DataRow item in dtThue.Rows)
377 {
378 _stt_thue += 1;
379 int nthue = dgvThue.Rows.Add();
380
381 dgvThue.Rows[nthue].Cells[0].Value = item["IdKho"].ToString();
382 dgvThue.Rows[nthue].Cells[1].Value = _stt_thue.ToString();
383 dgvThue.Rows[nthue].Cells[2].Value = item["TenSanPham"].ToString();
384 dgvThue.Rows[nthue].Cells[3].Value = item["Thue"].ToString();// item["Thue"].ToString();
385 dgvThue.Rows[nthue].Cells[4].Value = item["Thue"].ToString();
386
387
388 //Hiển thị màu dòng trong datagridview
389 if (nthue == rowIndex)
390 {
391 //Set backgroud cho row
392 this.dgvThue.Rows[rowIndex].DefaultCellStyle.BackColor = Color.Yellow;
393 }
394 }
395 }
396 else
397 {
398 _tongSoBanGhi = 0;
399 btnLuuThayDoi.Visible = false;
400 }
401
402
403 */
404 }
405
406 private void ClearForm_Kho()
407 {
408 txtMaSanPham.Text = "";
409 txtMaVietTat.Text = "";
410 txtTenSanPham.Text = "";
411 txtSoLuong.Text = "";
412 txtGiaNhap.Text = "";
413 txtChietKhau_PhanTram.Text = "";
414 txtChietKhau_TienMat.Text = "";
415 cmbThue.SelectedValue = "0";
416 cmbDonViTinh.SelectedValue = "0";
417 lblTongTienMotMatHang.Text = "0";
418 }
419
420 private void HienThi_Text_TrongForm(DataTable dt, string tbl_Table = "")
421 {
422 //txtMaSanPham.Text = "";
423 //txtTenSanPham.Text = dt.Rows[0]["TenSanPham"].ToString();
424 //txtSoLuong.Text = "1";
425
426 }
427
428 private void btnLuuVaTiepTuc_Click(object sender, EventArgs e)
429 {
430 //kiem tra ma don hang
431 this.DonHangDangNhap_La();
432
433 //load lan dau tien
434 loadlandau = true;
435
436 try
437 {
438 _MaSanPham = txtMaSanPham.Text.Trim();
439
440 if (string.IsNullOrEmpty(_MaSanPham) && string.IsNullOrEmpty(_MaVietTat))
441 {
442 MessageBox.Show("Mã sản phẩm không được để trống");
443 txtMaSanPham.Focus();
444 return;
445 }
446 }
447 catch { }
448
449 try
450 {
451 _MaVietTat = txtMaVietTat.Text.Trim();
452
453 if (string.IsNullOrEmpty(_MaVietTat))
454 {
455 _MaVietTat = txtMaSanPham.Text.Trim();
456 }
457 }
458 catch { }
459
460 try
461 {
462 _TenSanPham = txtTenSanPham.Text.Trim();
463
464 if (string.IsNullOrEmpty(_TenSanPham))
465 {
466 MessageBox.Show("Tên sản phẩm không được để trống");
467 txtTenSanPham.Focus();
468 return;
469 }
470 }
471 catch { }
472
473 try
474 {
475 if (string.IsNullOrEmpty(txtSoLuong.Text.Trim()))
476 {
477 _SoLuong = 0;
478 }
479 else
480 {
481 _SoLuong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtSoLuong.Text.Trim()));
482 }
483
484 }
485 catch { }
486
487 try
488 {
489 _DonViTinhId = Int32.Parse(cmbDonViTinh.SelectedValue.ToString());
490
491 if (_DonViTinhId == 0)
492 {
493 MessageBox.Show("Bạn chưa chọn đơn vị tính");
494 cmbDonViTinh.Focus();
495 return;
496 }
497 }
498 catch { }
499
500 try
501 {
502
503 if (string.IsNullOrEmpty(txtGiaNhap.Text.Trim()))
504 {
505 _GiaNhap = 0;
506 MessageBox.Show("Giá sản phẩm không được để trống!");
507 txtGiaNhap.Focus();
508
509 //hien thi textchanged
510 loadlandau = false;
511
512
513 return;
514 }
515 else
516 {
517 _GiaNhap = CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text, true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtGiaNhap.Text.Trim()));
518 }
519 }
520 catch { }
521
522
523 try
524 {
525 if (string.IsNullOrEmpty(txtChietKhau_PhanTram.Text.Trim()))
526 {
527 _ChietKhau_PhanTram = 0;
528 }
529 else
530 {
531 _ChietKhau_PhanTram = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtChietKhau_PhanTram.Text.Trim()));
532 }
533
534 }
535 catch { }
536
537 try
538 {
539 if (string.IsNullOrEmpty(txtChietKhau_TienMat.Text.Trim()))
540 {
541 _TienChietKhau = 0;
542 }
543 else
544 {
545 _TienChietKhau = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtChietKhau_TienMat.Text.Trim()));
546 }
547
548 }
549 catch { }
550
551 if (rdoBtnChietKhau_PhanTram.Checked == true)
552 {
553 this.ChietKhau_Theo = "PhanTram";
554 }
555 else
556 {
557 this.ChietKhau_Theo = "TienChietKhau";
558 }
559
560 try
561 {
562 _thueMotMatHang = double.Parse(cmbThue.SelectedValue.ToString());
563 }
564 catch { }
565
566 txtMaSanPham.Enabled = true;
567
568 /*
569 //kiểm tra tồn tại mã sản phẩm trong mã viết tắt
570 DataTable dtKiemTraKho = new DataTable();
571 dtKiemTraKho = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_MaVietTat_KiemTraTonTai(_MaSanPham, 0, _MaVietTat).Tables[0];
572 if (dtKiemTraKho.Rows.Count > 0)
573 {
574 foreach (DataRow item in dtKiemTraKho.Rows)
575 {
576 if (_MaSanPham == item["MaVietTat"].ToString())
577 {
578 MessageBox.Show("Mã sản phẩm đã tồn tại");
579 }
580 else
581 {
582 MessageBox.Show("Mã viết tắt đã tồn tại trong mã sản phẩm");
583 }
584 }
585
586 return;
587 }
588 */
589
590
591
592
593 i = 0;
594
595 //if (spNhapHang_CoTrongCSDL == 0)//khong có trong csdl
596 if (_IdKho == 0) // khong co trong csdl
597 {
598
599
600 //Thêm sản phẩm vào bảng nhập kho
601 //i = Controllers.KhoCtrl.InsertKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _IdNhapHang, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_K, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat);
602 i = Controllers.KhoCtrl.InsertKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _getNhaCungCapId, _getNhapHangId, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_NH, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat, _ThueBanHang,_ChietKhauPTBanHang,_SoLuongDaBan);
603 if (i > 0)
604 {
605 //Hiển thị sang tabPage danh sách nhập kho
606 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
607
608 this.ClearForm_Kho();
609
610 txtMaSanPham.Focus();
611 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
612 }
613 else
614 {
615 //MessageBox.Show("Sửa không thành công");
616 //this.ClearForm_Kho();
617 }
618 }
619 else
620 {
621
622 //Thêm sản phẩm vào bảng nhập kho
623 //i = Controllers.KhoCtrl.UpdateKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _IdNhapHang, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_K, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat);
624 // i =
625 // Controllers.KhoCtrl.UpdateKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _getNhapHangId, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_NH, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat, _ThueBanHang, _ChietKhauPTBanHang, _SoLuongDaBan);
626 Controllers.KhoCtrl.UpdateKho_FormNhapHang(_IdKho, _MaSanPham, _MaVietTat, _TenSanPham, _DonViTinhId, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, this.ChietKhau_Theo, _TienChietKhau);
627 // if (i > 0)
628 // {
629 //Hiển thị sang tabPage danh sách nhập kho
630 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
631
632 this.ClearForm_Kho();
633
634 txtMaSanPham.Focus();
635 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
636 //}
637 //else
638 //{
639 //MessageBox.Show("Sửa không thành công");
640 //this.ClearForm_Kho();
641 // }
642 }
643 }
644
645 private void btnClear_Click(object sender, EventArgs e)
646 {
647 loadlandau = false;
648
649 this.ClearForm_Kho();
650
651 txtMaSanPham.Enabled = true;
652
653 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
654
655 txtMaSanPham.Focus();
656 }
657
658 private void btnThanhToan_Click(object sender, EventArgs e)
659 {
660 _TrangThai_NH = "NhapHang";
661
662 this.UpdateNhapHang(_TrangThai_NH, sender, e);
663
664
665
666 //MessageBox.Show("Nhập hàng thành công");
667 /*
668 double dattoan = 0;
669 double tongtt = 0;
670
671 dattoan = CauHinhHeThong.Format_SoDeTinhToan(txtTienDaThanhToan.Text, true);
672 tongtt = CauHinhHeThong.Format_SoDeTinhToan(txtTongTienDonHang.Text, true);
673
674 //xác định trạng thái còn nợ ncc hay k?
675 if (dattoan >= tongtt)
676 {
677 //hàm xử lý nút thanh toán
678 this.UpdateNhapHang("DaThanhToan", sender, e);
679 }
680 else
681 {
682 //hàm xử lý nút thanh toán
683 this.UpdateNhapHang("DonHangNoNCC", sender, e);
684 }
685
686 */
687 }
688
689 private void UpdateNhapHang(string trangThai_NhapHang, object sender, EventArgs e)
690 {
691 //khoi tao don hang
692 this.DonHangDangNhap_La();
693
694 //Số điện thoại không được để trống
695 if (string.IsNullOrEmpty(txtSoDienThoaiNCC.Text.Trim()))
696 {
697 MessageBox.Show("Số điện thoại nhà cung cấp không được để trống");
698 txtSoDienThoaiNCC.Focus();
699 return;
700 }
701 else
702 {
703 //_IdNhaCungCap = 0 thi them moi
704 //Kiểm tra nhà cung cấp có trong hệ thống rồi hay chưa
705 this.NhaCungCap_KiemTraTonTai();
706 }
707
708 //Trường thanh toán không được để trống
709 if (string.IsNullOrEmpty(txtThanhToan.Text))
710 {
711 MessageBox.Show("Tiền thanh toán không được để trống");
712 txtThanhToan.Focus();
713
714 btnThanhToan.Enabled = true;
715 loadlandau = false;
716
717 return;
718 }
719
720 i = 0;
721
722 //_IdNhapHang,
723 //_NgayTao,
724 //_TrangThai_NH = trangThai_NhapHang;// "DaThanhToan";
725 //_GiamGiaDonHang,
726 //_GiamGiaTatCaCacMuc,
727
728 _tienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim(),true);
729
730 _noNhaCc = _tongDonHangAll - _tienThanhToan;
731 //_NCC_NoChuCuaHang,
732
733 try
734 {
735 _GhiChu = txtGhiChu.Text.Trim();
736 }
737 catch { }
738
739 /*
740 if (!string.IsNullOrEmpty(txtChiPhiPhatSinh_TienMat.Text.Trim()))
741 {
742 _ChiPhiThem = CauHinhHeThong.Format_SoDeTinhToan(txtChiPhiPhatSinh_TienMat.Text.Trim(),true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtThanhToan.Text.Trim()));
743 }
744
745 try
746 {
747 _MoTaChiPhiThem = txtMoTaChiPhiPhatSinh.Text.Trim();
748 }
749 catch { }
750 */
751
752 try
753 {
754 _TenDonHang = txtTenDonHang.Text.Trim();
755 }
756 catch { }
757
758 //try
759 //{
760 // _TieuDe = _TenDonHang;
761 //}
762 // catch { }
763
764 //try
765 //{
766 // _SoTien = _ChiPhiThem;
767 //}
768 // catch { }
769
770 //try
771 //{
772 // _DienGiai = _MoTaChiPhiThem;
773 // }
774 // catch { }
775 //update chi phi them
776 //Controllers.CongNoCtrl.UpdateCongNo_ByNhapHangId(_IdCongNo, _TieuDe, _LoaiThuChi, _NgayTao, "SuDung", _SoTien, thueThuChi, _DienGiai, "", "0", "0", _GhiChu, _HinhThuc, _getNhapHangId);
777
778
779 //thêm mới sản phẩm trong đơn hàng
780 if (!string.IsNullOrEmpty(txtMaSanPham.Text) && !string.IsNullOrEmpty(txtTenSanPham.Text))
781 {
782 this.btnLuuVaTiepTuc_Click(sender, e);
783 }
784
785 //update vào bảng nhập hàng
786 //i = Controllers.NhapHangCtrl.UpdateNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _tongDonHangAll, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
787 //i =
788 Controllers.NhapHangCtrl.UpdateNhapHang(_getNhapHangId, _NgayTao, trangThai_NhapHang, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _tongDonHangAll, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _getNhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
789
790 //update nhà cung cấp của sản phẩm
791 //Controllers.KhoCtrl.UpdateKho_NhaCungCapId(0, _NhaCungCapId, _getNhapHangId);
792 //update cac sản phẩm trong kho trangthai = _TrangThai_NH
793 //Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(0, _getNhapHangId, _TrangThai_NH);
794 Controllers.KhoCtrl.UpdateKho_NhaCungCapId_TrangThai_ByNhapHangId(0, _getNhaCungCapId, _TrangThai_NH, _getNhapHangId);
795
796 int _IdThanhToan = 0;
797 int _Tbl_TenBangId = 0;
798 //double _SoTienThanhToan = 0;
799 string _MoTaThanhToan = string.Empty;
800 string _TrangThai = "ThanhToan";
801 //DateTime _NgayTao ,
802 string _Tbl_TenBang = "tbl_NhapHang";
803
804 //_Tbl_TenBangId = _IdNhapHang;
805 _Tbl_TenBangId = _getNhapHangId;
806
807 //_SoTienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim());
808
809 //thêm số tiền thanh toán vào bảng thanh toán
810 //Controllers.ThanhToanCtrl.InsertThanhToan(_IdThanhToan, _Tbl_TenBangId, _SoTienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, _Tbl_TenBang);
811 if (_tienThanhToan != 0)
812 {
813 Controllers.ThanhToanCtrl.InsertThanhToan(_IdThanhToan, _Tbl_TenBangId, _tienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, _Tbl_TenBang);
814 }
815
816 //Truyền dữ liệu sang uct NhapHang
817 if (this.btnClickSendLink_NhapHang_ChiTiet != null)
818 {
819 //ẩn nút thanh toán khi click vào thanh toán
820 btnThanhToan.Enabled = false;
821 //khong cho load textchange
822 loadlandau = true;
823 //hiển thị thông báo trạng thái đơn hàng
824
825 //this.btnClickSendLink_NhapHang_ChiTiet(sender, e, _IdNhapHang, _NhaCungCapId, "ThanhToan");
826 this.btnClickSendLink_NhapHang_ChiTiet(sender, e, _getNhapHangId, _getNhaCungCapId, "ThanhToan");
827
828 //Them moi don hang
829 this.btnNhapMoi_Click(sender, e);
830 }
831
832 //if (i > 0)
833 //{
834
835
836 //}
837 }
838
839 //bnt tìm kiếm nhà cung cấp
840 private void btnTimKiem_Click(object sender, EventArgs e)
841 {
842 //kiểm tra sdt không dc để trống
843 if (string.IsNullOrEmpty(txtSoDienThoaiNCC.Text.Trim()))
844 {
845 MessageBox.Show("Nhập số điện thoại để tìm kiếm");
846 return;
847 }
848 else
849 {
850 DataTable dtNcc = new DataTable();
851
852 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_BySoDienThoai(0, txtSoDienThoaiNCC.Text.Trim(), _pageSize, _pageIndex).Tables[0];
853
854 if (dtNcc.Rows.Count > 0)
855 {
856 //hiển thị thông tin ncc
857 txtHoVaTenNCC.Text = dtNcc.Rows[0]["HoVaTen"].ToString();
858
859 if (string.IsNullOrEmpty(txtHoVaTenNCC.Text.Trim()))
860 {
861 txtHoVaTenNCC.Focus();
862 }
863
864 _getNhaCungCapId = Int32.Parse(dtNcc.Rows[0]["IdNhaCungCap"].ToString());
865
866 if (!string.IsNullOrEmpty(dtNcc.Rows[0]["DiaChi"].ToString()))
867 {
868 //lblDiaChiNcc.Visible = true;
869 txtDiaChiNcc.Text = dtNcc.Rows[0]["DiaChi"].ToString();
870 }
871 }
872 else
873 {
874 _getNhaCungCapId = 0;
875 //lblDiaChiNcc.Visible = false;
876 txtHoVaTenNCC.Text = "";
877 txtDiaChiNcc.Text = "";
878
879 }
880 }
881 }
882
883 private void btnHuyDonHang_Click(object sender, EventArgs e)
884 {
885 _TrangThai_NH = "HuyDonHang";
886
887 this.UpdateNhapHang(_TrangThai_NH, sender, e);
888
889 //Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(-1, _getNhapHangId, _TrangThai_NH);
890
891 //MessageBox.Show("Hủy đơn hàng thành công");
892 }
893
894 private void btnTamDung_Click(object sender, EventArgs e)
895 {
896 _TrangThai_NH = "TamDung";
897
898 this.UpdateNhapHang(_TrangThai_NH, sender, e);
899
900 //update cac sản phẩm trong kho trangthai = tamdung
901 //Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(-1, _getNhapHangId, _TrangThai_NH);
902
903 //MessageBox.Show("Tạm dừng đơn hàng thành công");
904
905 }
906
907 private void btnNhapSoLuongLon_Click(object sender, EventArgs e)
908 {
909 /*
910 //Kiểm tra khởi tạo bảng nhập hàng
911 if (_IdNhapHang == 0)
912 {
913 _IdNhapHang = Controllers.NhapHangCtrl.InsertNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
914
915 _thueMotMatHang = 0;
916
917 cmbThue.SelectedValue = "0";
918 }
919 */
920 this.DonHangDangNhap_La();
921
922 //frmNhapHang_NhapNhieu frmNH_NN = new frmNhapHang_NhapNhieu(_IdNhapHang);
923 frmNhapHang_NhapNhieu frmNH_NN = new frmNhapHang_NhapNhieu(_getNhapHangId);
924
925 frmNH_NN.ShowDialog();
926
927 //hien thi ds san pham nhap nhanh
928 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, 0, "NhapHang");
929 this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
930
931 }
932
933 //Hiển thị toàn bộ thông tin sản phẩm trong kho liên quan tới IdNhapHang
934 public void HienThiDanhSachSanPham_Kho_ByIdNhapHang(int IdNhapHang, int nhaCungCapId, string trangThaiNhapHang)
935 {
936 //this._IdNhapHang = IdNhapHang;
937 this._getNhapHangId = IdNhapHang;
938 //this._getNhaCungCapId = nhaCungCapId;
939
940 _IdKho = 0;
941
942 dgvDanhSachNhapHang.Rows.Clear();
943 //Ẩn cột đầu tiên
944 dgvDanhSachNhapHang.RowHeadersVisible = false;
945 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
946 this.dgvDanhSachNhapHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
947 this.dgvDanhSachNhapHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
948 //this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
949
950 this.dgvDanhSachNhapHang.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
951 this.dgvDanhSachNhapHang.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
952
953 this.dgvDanhSachNhapHang.Columns["GiaNhap"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
954 this.dgvDanhSachNhapHang.Columns["GiaNhap"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
955
956 this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
957 this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
958
959 this.dgvDanhSachNhapHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
960 this.dgvDanhSachNhapHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
961
962
963 this.dgvDanhSachNhapHang.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
964 this.dgvDanhSachNhapHang.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
965
966 //select từ bảng kho
967 //dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-1, _IdNhapHang, 1000, _pageIndex).Tables[0];
968 dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-1, _getNhapHangId, 1000, _pageIndex).Tables[0];
969 if (dt.Rows.Count > 0)
970 {
971
972 _stt = 0;
973
974 _tongSoBanGhi = Int32.Parse(dt.Rows[0]["TongSoBanGhi"].ToString());
975
976 double so_luong = 0;
977 double gia_nhap = 0;
978 double thue_ = 0;
979 string ckTheo = "PhanTram";
980 double ckPtram = 0;
981 double ckTien = 0;
982 double tongmotMh = 0;
983
984 foreach (DataRow item in dt.Rows)
985 {
986 _stt += 1;
987 n = dgvDanhSachNhapHang.Rows.Add();
988
989 dgvDanhSachNhapHang.Rows[n].Cells["IdKho"].Value = item["IdKho"].ToString();
990 dgvDanhSachNhapHang.Rows[n].Cells["MaSanPham"].Value = item["MaSanPham"].ToString();
991
992 dgvDanhSachNhapHang.Rows[n].Cells["MaVietTat"].Value = item["MaVietTat"].ToString();
993
994 dgvDanhSachNhapHang.Rows[n].Cells["DonViTinhId"].Value = item["DonViTinhId"].ToString();
995 dgvDanhSachNhapHang.Rows[n].Cells["STT"].Value = _stt.ToString();
996 dgvDanhSachNhapHang.Rows[n].Cells["TenSanPham"].Value = item["TenSanPham"].ToString();
997 dgvDanhSachNhapHang.Rows[n].Cells["TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
998
999 ///string sl = item["SoLuong"].ToString();
1000 so_luong = CauHinhHeThong.Format_SoDeTinhToan(item["SoLuong"].ToString(),false);
1001
1002 gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(item["GiaNhap"].ToString(), false);
1003 thue_ = CauHinhHeThong.Format_SoDeTinhToan(item["Thue"].ToString(), false);
1004 ckTheo = item["ChietKhauTheo"].ToString();
1005 ckPtram = CauHinhHeThong.Format_SoDeTinhToan(item["ChietKhauPhanTram"].ToString(), false);
1006 ckTien = CauHinhHeThong.Format_SoDeTinhToan(item["TienChietKhau"].ToString(),false);
1007
1008 dgvDanhSachNhapHang.Rows[n].Cells["SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
1009 dgvDanhSachNhapHang.Rows[n].Cells["GiaNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true); //CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["GiaNhap"].ToString(), true);
1010
1011 //hien thi chiet khau theo phan tram
1012 dgvDanhSachNhapHang.Rows[n].Cells["ChietKhauTheo"].Value = ckTheo;// _ChietKhauTheo;
1013
1014 dgvDanhSachNhapHang.Rows[n].Cells["ChietKhauPhanTram"].Value = CauHinhHeThong.Format_SoDeHienThi(ckPtram, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(_ChietKhau_PhanTram.ToString(), true);
1015 dgvDanhSachNhapHang.Rows[n].Cells["TienChietKhau"].Value = CauHinhHeThong.Format_SoDeHienThi(ckTien, true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
1016 dgvDanhSachNhapHang.Rows[n].Cells["Thue"].Value = CauHinhHeThong.Format_SoDeHienThi(thue_, false);// item["Thue"].ToString();// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["Thue"].ToString(), true); //item["ChietKhauPhanTram"].ToString();
1017
1018 tongmotMh = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPtram, ckTien, ckTheo, thue_);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tt.ToString(), true);// this.TongTien_Mot_MatHang(item["GiaNhap"].ToString(), item["SoLuong"].ToString(), item["ChietKhauPhanTram"].ToString(), item["ChietKhauTheo"].ToString(), true);
1019 dgvDanhSachNhapHang.Rows[n].Cells["TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongmotMh, true);
1020 dgvDanhSachNhapHang.Rows[n].Cells["Sua"].Value = "false";
1021 }
1022
1023 }
1024 else
1025 {
1026 _tongSoBanGhi = 0;
1027 }
1028
1029 //Hiển thị thông tin nhà cung cấp
1030 if (nhaCungCapId != 0)
1031 {
1032 DataTable dtNcc = new DataTable();
1033
1034 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_ByIdNhaCungCap(nhaCungCapId).Tables[0];
1035
1036 if (dtNcc.Rows.Count > 0)
1037 {
1038 txtSoDienThoaiNCC.Text = dtNcc.Rows[0]["SoDienThoai"].ToString();
1039 txtHoVaTenNCC.Text = dtNcc.Rows[0]["HoVaTen"].ToString();
1040 txtDiaChiNcc.Text = dtNcc.Rows[0]["DiaChi"].ToString();
1041 }
1042
1043 //hiển thị thông báo đơn hàng
1044 lblTrangThaiDonHang.Text = trangThaiNhapHang;
1045 }
1046 else
1047 {
1048 txtSoDienThoaiNCC.Text = "";
1049 txtHoVaTenNCC.Text = "";
1050 txtDiaChiNcc.Text = "";
1051 }
1052
1053 txtTongSoMatHang.Text = _tongSoBanGhi.ToString();
1054
1055 //_tongDonHangAll = TongTienMotDonHang_All(_IdNhapHang);
1056 _tongDonHangAll = TongTienMotDonHang_All(_getNhapHangId);
1057
1058 txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll, true);
1059
1060 //so tien da thanh toan
1061 //double _SoTienThanhToan = 0;
1062 string _MoTaThanhToan = string.Empty;
1063
1064 //DataTable dtTt = new DataTable();
1065
1066 //dtTt = Controllers.ThanhToanCtrl.FillDataSet_getThanhToan_Search_ByIdTableName(0, _getNhapHangId, _SoTienThanhToan, _MoTaThanhToan, "", _NgayTao, "tbl_NhapHang", 1000, 1).Tables[0];
1067
1068 //double _tongTien_DaThanhToan = 0;
1069 /*
1070 double _noNhaCungCap = 0;
1071
1072 if (dtTt.Rows.Count > 0)
1073 {
1074 double sotientt = 0;
1075 foreach (DataRow item in dtTt.Rows)
1076 {
1077 sotientt = CauHinhHeThong.Format_SoDeTinhToan(item["SoTienThanhToan"].ToString(),false);
1078 _tongTien_DaThanhToan += sotientt;
1079
1080 }
1081 }
1082 */
1083 //no nha cung cap
1084 //_noNhaCungCap = _tongDonHangAll - _tongTien_DaThanhToan;
1085
1086
1087 //tien tt
1088 dttt = Controllers.ThanhToanCtrl.FillDataSet_GetThanhToan_GetTongTien(0, _getNhapHangId, "tbl_NhapHang").Tables[0];
1089
1090 if (dttt.Rows.Count > 0)
1091 {
1092
1093 tienDtt = CauHinhHeThong.Format_SoDeTinhToan(dttt.Rows[0]["TongSoTienThanhToan"].ToString(), false);
1094
1095 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt, true);
1096 }
1097 else
1098 {
1099 tienDtt = 0;
1100
1101 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt, true);
1102 }
1103
1104 //txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(_tongTien_DaThanhToan, true);
1105
1106 //txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(_noNhaCungCap, true);
1107
1108 //Hiển thị thông tin từ bảng nhập hàng
1109 this.HienThiThongTinDonHang_NhapHang(_getNhapHangId);
1110 }
1111
1112 private void dgvDanhSachNhapHang_CellClick(object sender, DataGridViewCellEventArgs e)
1113 {
1114 _thueMotMatHang = 0;
1115 _tongDonHang = 0;
1116
1117 //rowIndex = 0;
1118 //-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
1119 if (dgvDanhSachNhapHang.Columns[e.ColumnIndex].Name == "TenSanPham" && e.RowIndex != -1)
1120 {
1121 //-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
1122 if (dgvDanhSachNhapHang.CurrentCell != null && dgvDanhSachNhapHang.CurrentCell.Value != null)
1123 {
1124 //Chuyển sang chỉnh sửa sản phẩm, điều kiện sản phẩm đã có trong csdl
1125 spNhapHang_CoTrongCSDL = 1;
1126
1127 //rowIndex = e.RowIndex;
1128
1129
1130 _IdKho = Int32.Parse(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["IdKho"].Value.ToString());
1131 double gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["GiaNhap"].Value.ToString(),true);
1132 double ckPt = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["ChietKhauPhanTram"].Value.ToString(), true);
1133 double ckTm = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["TienChietKhau"].Value.ToString(), true);
1134 this.ChietKhau_Theo = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["ChietKhauTheo"].Value.ToString();
1135 double so_luong = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["SoLuong"].Value.ToString(), true);
1136
1137 _thueMotMatHang = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["Thue"].Value.ToString(), true);
1138
1139 txtMaSanPham.Enabled = false;
1140 txtMaSanPham.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["MaSanPham"].Value.ToString();
1141
1142 txtMaVietTat.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["MaVietTat"].Value.ToString();
1143
1144 txtTenSanPham.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["TenSanPham"].Value.ToString();
1145 txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true);
1146 txtSoLuong.Text = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);
1147 cmbThue.SelectedValue = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["Thue"].Value.ToString();
1148
1149 cmbDonViTinh.SelectedValue = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["DonViTinhId"].Value.ToString();
1150
1151 //kiem tra chiet khau tinh theo cai gi
1152 if (ChietKhau_Theo == "PhanTram")
1153 {
1154 rdoBtnChietKhau_PhanTram.Checked = true;
1155 }
1156 else
1157 {
1158 rdoBtnChietKhau_TienMat.Checked = true;
1159 }
1160
1161 txtChietKhau_PhanTram.Text = CauHinhHeThong.Format_SoDeHienThi(ckPt, false);
1162 txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(ckTm, true);
1163
1164
1165 //tong mot don hang tru mot mat hang
1166 //_tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
1167 _tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_getNhapHangId, _IdKho);
1168
1169 //tong mot don hang
1170 double tong1math = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPt, ckTm, this.ChietKhau_Theo, _thueMotMatHang);
1171
1172 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1math, true);
1173
1174 _tongDonHangAll = tong1math + _tongDonHang;
1175
1176 txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll, true);
1177
1178 //khong cho load trong textchange
1179 loadlandau = true;
1180
1181 //Thêm màu nền sau khi click
1182 /*
1183 for (int j = 0; j < dgvDanhSachNhapHang.Rows.Count; j++)
1184 {
1185 if (j == rowIndex)
1186 {
1187 this.dgvDanhSachNhapHang.Rows[j].Cells["GiaNhap"].Style.BackColor = Color.Yellow;
1188 }
1189 else
1190 {
1191 this.dgvDanhSachNhapHang.Rows[j].Cells["GiaNhap"].Style.BackColor = Color.White;
1192 }
1193 }
1194 */
1195
1196 //Hiển thị sang tabPage thêm mới
1197 tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1198
1199 //Hiển thị button xóa để có thể xóa sản phẩm
1200 btnXoa.Enabled = true;
1201 }
1202 }
1203
1204 }
1205
1206 //public void HienThiThongTinNhapHang_ByIdNhapHang() { }
1207
1208 //click tab chọn hiển thị
1209 private void tabControlNhapHang_Selected(object sender, TabControlEventArgs e)
1210 {
1211 try
1212 {
1213 if (e.TabPage == tabPageThemMoiSanPham)
1214 {
1215 //tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1216 }
1217 else
1218 {
1219 //tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
1220 //Hien thi danh sach san pham
1221 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, 0, "NhapHang");
1222 this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
1223
1224 }
1225
1226 //uctNhapHang.uctNH.VerticalScroll.Value = 0;
1227 }
1228 catch
1229 {
1230 }
1231
1232 }
1233
1234 private void txtSoDienThoai_KeyDown(object sender, KeyEventArgs e)
1235 {
1236 if (e.KeyCode == Keys.Enter)
1237 {
1238 e.SuppressKeyPress = true;
1239
1240 this.btnTimKiem_Click(sender, e);
1241 }
1242 }
1243
1244 //Enter de tim san pham
1245 private void EnterSanPham(bool maSanPhamEnter)
1246 {
1247 try
1248 {
1249 _IdKho = 0;
1250
1251 _MaSanPham = txtMaSanPham.Text.Trim();
1252 _MaVietTat = txtMaVietTat.Text.Trim();
1253
1254 if (string.IsNullOrEmpty(_MaVietTat))
1255 {
1256 _MaSanPham = txtMaSanPham.Text.Trim();
1257 }
1258 else
1259 {
1260 _MaSanPham = _MaVietTat;
1261 }
1262
1263 //khong kho load textchange
1264 loadlandau = true;
1265
1266 //Khởi tạo lại IdKho, _Thue
1267 if (string.IsNullOrEmpty(_MaSanPham) && string.IsNullOrEmpty(_MaVietTat))
1268 {
1269 MessageBox.Show("Bạn chưa nhập mã sản phẩm!");
1270 return;
1271 }
1272
1273 //txtMaSanPham.Enabled = false;
1274 /*
1275 //Kiểm tra khởi tạo bảng nhập hàng
1276 if (_IdNhapHang == 0)
1277 {
1278 _IdNhapHang = Controllers.NhapHangCtrl.InsertNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
1279
1280 _thueMotMatHang = 0;
1281
1282 cmbThue.SelectedValue = "0";
1283 }
1284 */
1285
1286 //don hang hien tai la
1287 this.DonHangDangNhap_La();
1288
1289 //tim kiem trong bang kho ma san pham + ma don hang
1290
1291 //Tìm sản phẩm trong bảng tbl_Kho
1292 //Nếu trong bảng kho không có tìm sản phẩm trong bảng tbl_ThongTinSanPham
1293 if (maSanPhamEnter == true)
1294 {
1295 //dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId(_MaSanPham, _IdNhapHang).Tables[0];
1296 dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId(_MaSanPham, _getNhapHangId).Tables[0];
1297 }
1298 else
1299 {
1300 //dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId_MaVietTat(_MaSanPham, _IdNhapHang, _MaVietTat).Tables[0];
1301 dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId_MaVietTat(_MaSanPham, _getNhapHangId, _MaVietTat).Tables[0];
1302 }
1303
1304
1305 double gia_nhap = 0;
1306 double ckPt = 0;
1307 double ckTm = 0;
1308 double so_luong = 0;
1309 //_thueMotMatHang = 0;
1310
1311 if (dt.Rows.Count > 0)
1312 {
1313 //Hiển thị ra form
1314 txtTenSanPham.Text = dt.Rows[0]["TenSanPham"].ToString();
1315
1316 gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["GiaNhap"].ToString(),false);
1317 txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(, true);
1318
1319 //Hiển thị đơn vị tính
1320 cmbDonViTinh.SelectedValue = dt.Rows[0]["DonViTinhId"].ToString();
1321
1322 //binh on gia khi insert san pham luc nhap hang
1323 if (CauHinhHeThong.BINH_ON_GIA_BAN == "checked")
1324 {
1325 _GiaBanLe = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["GiaBanLe"].ToString(), false);
1326 _GiaBanBuon = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["GiaBanBuon"].ToString(), false);
1327 _GiaKhuyenMai = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["GiaKhuyenMai"].ToString(), false);
1328 _ThueBanHang = (float)CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["ThueBanHang"].ToString(), false);
1329 _ChietKhauPTBanHang = (float)CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["ChietKhauPTBanHang"].ToString(), false);
1330 }
1331
1332
1333 spNhapHang_CoTrongCSDL = Int32.Parse(dt.Rows[0]["SP_NhapHang_CoTrongCSDL"].ToString());
1334
1335 if (spNhapHang_CoTrongCSDL > 0)
1336 {
1337 //Lấy _IdKho để update vào bảng kho
1338 _IdKho = Int32.Parse(dt.Rows[0]["IdKho"].ToString());
1339 //Số lượng được cộng thêm 1
1340 txtSoLuong.Text = (float.Parse(dt.Rows[0]["SoLuong"].ToString()) + 1).ToString();
1341
1342 _thueMotMatHang = double.Parse(dt.Rows[0]["Thue"].ToString());
1343 this.ChietKhau_Theo = dt.Rows[0]["ChietKhauTheo"].ToString();
1344
1345 txtChietKhau_PhanTram.Text = dt.Rows[0]["ChietKhauPhanTram"].ToString();
1346 ckTm = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["TienChietKhau"].ToString(),false);
1347 txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(ckTm, true);//
1348
1349
1350 if (this.ChietKhau_Theo == "PhanTram")
1351 {
1352 rdoBtnChietKhau_PhanTram.Checked = true;
1353 }
1354 else
1355 {
1356 rdoBtnChietKhau_TienMat.Checked = true;
1357 }
1358
1359
1360
1361
1362 }
1363 else
1364 {
1365 //Tổng số mặt hàng
1366 _tongSoBanGhi = _tongSoBanGhi + 1;
1367
1368 txtSoLuong.Text = "1";
1369 //Thuế mặc định = 0;
1370 _thueMotMatHang = 0;
1371 cmbThue.SelectedValue = "0";
1372
1373 rdoBtnChietKhau_PhanTram.Checked = true;
1374 this.ChietKhau_Theo = "PhanTram";
1375
1376 txtChietKhau_PhanTram.Text = "0";// dt.Rows[0]["ChietKhauPhanTram"].ToString();
1377 txtChietKhau_TienMat.Text = "0";
1378 }
1379 }
1380 else
1381 {
1382 dt = Controllers.ThongTinSanPhamCtrl.FillDataSet_ThongTinSanPhamByMaSanPham(_MaSanPham).Tables[0];
1383
1384 if (dt.Rows.Count > 0)
1385 {
1386 //Hiển thị ra form
1387 txtTenSanPham.Text = dt.Rows[0]["TenSanPham"].ToString();
1388 //Hiển thị đơn vị tính
1389 cmbDonViTinh.SelectedValue = dt.Rows[0]["DonViTinhId"].ToString();
1390
1391 string strGiaNhap = dt.Rows[0]["TenNhaCungCap"].ToString();
1392
1393 ulong ulgn = 0;
1394
1395 if (ulong.TryParse(strGiaNhap, out ulgn))
1396 {
1397 float gianhapBangTru10ptGiaBan = 0;
1398 double gnNcc = CauHinhHeThong.Format_SoDeTinhToan(ulgn.ToString(), false);
1399
1400 gianhapBangTru10ptGiaBan = (float) (gnNcc - (gnNcc * 10) / 100);
1401
1402 txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gianhapBangTru10ptGiaBan,true);
1403
1404 }
1405 else
1406 {
1407 txtGiaNhap.Text = strGiaNhap;
1408 }
1409
1410
1411 }
1412
1413 //Tổng số mặt hàng
1414 _tongSoBanGhi = _tongSoBanGhi + 1;
1415
1416 txtSoLuong.Text = "1";
1417 txtChietKhau_PhanTram.Text = "";
1418 txtChietKhau_TienMat.Text = "";
1419 //Thuế mặc định = 0;
1420 _thueMotMatHang = 0;
1421 cmbThue.SelectedValue = "0";
1422
1423 rdoBtnChietKhau_PhanTram.Checked = true;
1424 this.ChietKhau_Theo = "PhanTram";
1425 }
1426
1427 gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(), true);
1428 ckPt = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true);
1429 ckTm = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true);
1430 so_luong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),true);
1431 //_thueMotMatHang = 0;
1432
1433 //Hiển thị tổng số mặt hàng
1434 txtTongSoMatHang.Text = _tongSoBanGhi.ToString();
1435
1436 //tong mot don hang tru mot mat hang
1437 //_tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
1438 _tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_getNhapHangId, _IdKho);
1439
1440 //tong mot don hang
1441 double tong1math = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPt, ckTm, this.ChietKhau_Theo, _thueMotMatHang);
1442
1443 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1math, true);
1444
1445 _tongDonHangAll = tong1math + _tongDonHang;
1446
1447 txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll, true);
1448
1449 //Hiển thị sang tabPage thêm mới
1450 tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1451
1452 txtMaSanPham.Visible = true;
1453 //dua panel len top
1454 //uctNhapHang.uctNH.VerticalScroll.Value = 0;
1455 //panel1.VerticalScroll.Value = 0;
1456 }
1457 catch { }
1458 }
1459
1460 private void txtMaSanPham_KeyDown(object sender, KeyEventArgs e)
1461 {
1462
1463 if (e.KeyCode == Keys.Enter)
1464 {
1465 e.SuppressKeyPress = true;
1466
1467 txtMaVietTat.Text = string.Empty;
1468
1469 //kiem tra la ma barcode khong?
1470 this.EnterSanPham(true);
1471
1472 }
1473 }
1474
1475 private void txtGiaNhap_TextChanged(object sender, EventArgs e)
1476 {
1477 if (loadlandau == true) { return; }
1478
1479 if (ChietKhau_Theo == null)
1480 {
1481 return;
1482 }
1483
1484 try
1485 {
1486 value = txtGiaNhap.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1487 ul = 0;
1488
1489 if (ulong.TryParse(value, out ul))
1490 {
1491 txtGiaNhap.TextChanged -= txtGiaNhap_TextChanged;
1492
1493 if (txtGiaNhap.Text.StartsWith("0"))
1494 {
1495 txtGiaNhap.Text = ul.ToString();
1496 }
1497 else
1498 {
1499 txtGiaNhap.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1500 }
1501
1502 txtGiaNhap.SelectionStart = txtGiaNhap.Text.Length;
1503 txtGiaNhap.TextChanged += txtGiaNhap_TextChanged;
1504 }
1505 else
1506 {
1507 if (txtGiaNhap.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1508 {
1509 txtGiaNhap.TextChanged -= txtGiaNhap_TextChanged;
1510 txtGiaNhap.Text = "0" + txtGiaNhap.Text;
1511 txtGiaNhap.SelectionStart = txtGiaNhap.Text.Length;
1512 txtGiaNhap.TextChanged += txtGiaNhap_TextChanged;
1513 }
1514 }
1515
1516 //hien thi tong 1 mat hang va tong mot don hang
1517 this.HienThiDonHangTextChanged();
1518 }
1519 catch
1520 {
1521 }
1522 }
1523
1524 private void txtSoLuong_TextChanged(object sender, EventArgs e)
1525 {
1526 if (loadlandau == true) { return; }
1527
1528 if (ChietKhau_Theo == null)
1529 {
1530 return;
1531 }
1532
1533 try
1534 {
1535 value = txtSoLuong.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1536 ul = 0;
1537
1538 if (ulong.TryParse(value, out ul))
1539 {
1540 txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
1541
1542 if (txtSoLuong.Text.StartsWith("0"))
1543 {
1544 txtSoLuong.Text = ul.ToString();
1545 }
1546 else
1547 {
1548 txtSoLuong.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1549 }
1550
1551
1552 txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
1553 txtSoLuong.TextChanged += txtSoLuong_TextChanged;
1554 }
1555 else
1556 {
1557 if (txtSoLuong.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1558 {
1559 txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
1560 txtSoLuong.Text = "0" + txtSoLuong.Text;
1561 txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
1562 txtSoLuong.TextChanged += txtSoLuong_TextChanged;
1563 }
1564 }
1565
1566 //hien thi tong 1 mat hang va tong mot don hang
1567 this.HienThiDonHangTextChanged();
1568 }
1569 catch
1570 {
1571 }
1572 }
1573
1574 private void txtChietKhau_TienMat_TextChanged(object sender, EventArgs e)
1575 {
1576 if (loadlandau == true) { return; }
1577
1578 if (ChietKhau_Theo == null)
1579 {
1580 return;
1581 }
1582
1583 if (rdoBtnChietKhau_TienMat.Checked == true)
1584 {
1585 try
1586 {
1587 value = txtChietKhau_TienMat.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1588 ul = 0;
1589
1590 if (ulong.TryParse(value, out ul))
1591 {
1592 txtChietKhau_TienMat.TextChanged -= txtChietKhau_TienMat_TextChanged;
1593
1594 if (txtChietKhau_TienMat.Text.StartsWith("0"))
1595 {
1596 txtChietKhau_TienMat.Text = ul.ToString();
1597 }
1598 else
1599 {
1600 txtChietKhau_TienMat.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1601 }
1602
1603 txtChietKhau_TienMat.SelectionStart = txtChietKhau_TienMat.Text.Length;
1604 txtChietKhau_TienMat.TextChanged += txtChietKhau_TienMat_TextChanged;
1605 }
1606 else
1607 {
1608 if (txtChietKhau_TienMat.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1609 {
1610 txtChietKhau_TienMat.TextChanged -= txtChietKhau_TienMat_TextChanged;
1611 txtChietKhau_TienMat.Text = "0" + txtChietKhau_TienMat.Text;
1612 txtChietKhau_TienMat.SelectionStart = txtChietKhau_TienMat.Text.Length;
1613 txtChietKhau_TienMat.TextChanged += txtChietKhau_TienMat_TextChanged;
1614 }
1615 }
1616
1617 this.ChietKhau_Theo = "TienChietKhau";
1618 txtChietKhau_PhanTram.Text = CauHinhHeThong.Format_SoDeHienThi(this.ChietKhau_GetForm(), false);
1619
1620 //hien thi tong 1 mat hang va tong mot don hang
1621 this.HienThiDonHangTextChanged();
1622
1623 }
1624 catch
1625 {
1626 }
1627 }
1628
1629 }
1630
1631 /*
1632 private void txtChiPhiPhatSinh_TienMat_TextChanged(object sender, EventArgs e)
1633 {
1634
1635 try
1636 {
1637 value = txtChiPhiPhatSinh_TienMat.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1638 ul = 0;
1639
1640 if (ulong.TryParse(value, out ul))
1641 {
1642 txtChiPhiPhatSinh_TienMat.TextChanged -= txtChiPhiPhatSinh_TienMat_TextChanged;
1643
1644 if (txtChiPhiPhatSinh_TienMat.Text.StartsWith("0"))
1645 {
1646 txtChiPhiPhatSinh_TienMat.Text = ul.ToString();
1647 }
1648 else
1649 {
1650 txtChiPhiPhatSinh_TienMat.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1651 }
1652
1653 txtChiPhiPhatSinh_TienMat.SelectionStart = txtChiPhiPhatSinh_TienMat.Text.Length;
1654 txtChiPhiPhatSinh_TienMat.TextChanged += txtChiPhiPhatSinh_TienMat_TextChanged;
1655 }
1656 else
1657 {
1658 if (txtChiPhiPhatSinh_TienMat.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1659 {
1660 txtChiPhiPhatSinh_TienMat.TextChanged -= txtChiPhiPhatSinh_TienMat_TextChanged;
1661 txtChiPhiPhatSinh_TienMat.Text = "0" + txtChiPhiPhatSinh_TienMat.Text;
1662 txtChiPhiPhatSinh_TienMat.SelectionStart = txtChiPhiPhatSinh_TienMat.Text.Length;
1663 txtChiPhiPhatSinh_TienMat.TextChanged += txtChiPhiPhatSinh_TienMat_TextChanged;
1664 }
1665 }
1666 }
1667 catch
1668 {
1669 }
1670 }
1671
1672 */
1673
1674 private void txtChietKhau_PhanTram_TextChanged(object sender, EventArgs e)
1675 {
1676 if (loadlandau == true) { return; }
1677
1678 if (ChietKhau_Theo == null)
1679 {
1680 return;
1681 }
1682
1683 if (rdoBtnChietKhau_PhanTram.Checked == true)
1684 {
1685 //chiet khau phan tram
1686 try
1687 {
1688 value = txtChietKhau_PhanTram.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1689 ul = 0;
1690
1691 if (ulong.TryParse(value, out ul))
1692 {
1693 txtChietKhau_PhanTram.TextChanged -= txtChietKhau_PhanTram_TextChanged;
1694
1695 if (txtChietKhau_PhanTram.Text.StartsWith("0"))
1696 {
1697 txtChietKhau_PhanTram.Text = ul.ToString();
1698 }
1699 else
1700 {
1701 txtChietKhau_PhanTram.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1702 }
1703
1704 txtChietKhau_PhanTram.SelectionStart = txtChietKhau_PhanTram.Text.Length;
1705 txtChietKhau_PhanTram.TextChanged += txtChietKhau_PhanTram_TextChanged;
1706 }
1707 else
1708 {
1709 if (txtChietKhau_PhanTram.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1710 {
1711 txtChietKhau_PhanTram.TextChanged -= txtChietKhau_PhanTram_TextChanged;
1712 txtChietKhau_PhanTram.Text = "0" + txtChietKhau_PhanTram.Text;
1713 txtChietKhau_PhanTram.SelectionStart = txtChietKhau_PhanTram.Text.Length;
1714 txtChietKhau_PhanTram.TextChanged += txtChietKhau_PhanTram_TextChanged;
1715 }
1716 }
1717
1718 this.ChietKhau_Theo = "PhanTram";
1719 txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(this.ChietKhau_GetForm(), true);
1720
1721 //hien thi tong 1 mat hang va tong mot don hang
1722 this.HienThiDonHangTextChanged();
1723 }
1724 catch
1725 {
1726 }
1727 }
1728
1729 }
1730
1731 private void txtThanhToan_TextChanged(object sender, EventArgs e)
1732 {
1733 if (loadlandau == true) { return; }
1734
1735 try
1736 {
1737 value = txtThanhToan.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1738 ul = 0;
1739
1740 if (ulong.TryParse(value, out ul))
1741 {
1742 txtThanhToan.TextChanged -= txtThanhToan_TextChanged;
1743
1744 if (txtThanhToan.Text.StartsWith("0"))
1745 {
1746 txtThanhToan.Text = ul.ToString();
1747 }
1748 else
1749 {
1750 txtThanhToan.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
1751 }
1752
1753
1754 txtThanhToan.SelectionStart = txtThanhToan.Text.Length;
1755 txtThanhToan.TextChanged += txtThanhToan_TextChanged;
1756 }
1757 else
1758 {
1759 if (txtThanhToan.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1760 {
1761 txtThanhToan.TextChanged -= txtThanhToan_TextChanged;
1762 txtThanhToan.Text = "0" + txtThanhToan.Text;
1763 txtThanhToan.SelectionStart = txtThanhToan.Text.Length;
1764 txtThanhToan.TextChanged += txtThanhToan_TextChanged;
1765 }
1766 }
1767
1768 //txtTienDaThanhToan.Text = txtThanhToan.Text.Trim();
1769
1770 _tienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim(), true);
1771
1772 _noNhaCc = _tongDonHangAll - _tienThanhToan;
1773
1774 txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(_noNhaCc, true);
1775
1776 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt + _tienThanhToan, true);
1777
1778 }
1779 catch
1780 {
1781 }
1782
1783 }
1784
1785 private void txtThanhToan_KeyPress(object sender, KeyPressEventArgs e)
1786 {
1787 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1788 }
1789
1790 private void txtChietKhau_KeyPress(object sender, KeyPressEventArgs e)
1791 {
1792 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1793 }
1794
1795 private void txtSoLuong_KeyPress(object sender, KeyPressEventArgs e)
1796 {
1797 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1798 }
1799
1800 private void txtGiaNhap_KeyPress(object sender, KeyPressEventArgs e)
1801 {
1802 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1803 }
1804
1805 private void txtChiPhiPhatSinh_TienMat_KeyPress(object sender, KeyPressEventArgs e)
1806 {
1807 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1808 }
1809
1810 private void txtChiPhiPhatSinh_PhanTram_KeyPress(object sender, KeyPressEventArgs e)
1811 {
1812 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1813 }
1814
1815 private void txtChietKhau_TienMat_KeyPress(object sender, KeyPressEventArgs e)
1816 {
1817 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1818 }
1819
1820 /*
1821 private double TongTien_Mot_MatHang(string giaNhap, string soLuong, string chietKhau, string chietKhauTheo, bool chuoi_TheoChuan_CSDL)
1822 {
1823 double tong = 0;
1824 double gNhap = 0;
1825 double sLuong = 0;
1826 double cKhau = 0;
1827 //string txt = "";
1828
1829 if (chuoi_TheoChuan_CSDL == true)
1830 {
1831 gNhap = double.Parse(giaNhap);
1832 sLuong = double.Parse(soLuong);
1833 cKhau = double.Parse(chietKhau);
1834 }
1835 else
1836 {
1837
1838 if (string.IsNullOrEmpty(giaNhap))
1839 {
1840 gNhap = 0;
1841 }
1842 else
1843 {
1844 gNhap = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(giaNhap));
1845 }
1846
1847 if (string.IsNullOrEmpty(soLuong))
1848 {
1849 sLuong = 0;
1850 }
1851 else
1852 {
1853 sLuong = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(soLuong));
1854 }
1855
1856 if (string.IsNullOrEmpty(chietKhau))
1857 {
1858 cKhau = 0;
1859 }
1860 else
1861 {
1862 cKhau = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau));
1863 }
1864 }
1865
1866 if (chietKhauTheo == "PhanTram")
1867 {
1868 tong = (gNhap * sLuong) - (gNhap * sLuong * cKhau / 100);
1869 }
1870 else
1871 {
1872 //Tien chiet khau
1873 tong = (gNhap * sLuong) - cKhau;
1874 }
1875
1876
1877 //txt = CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tong.ToString(), false);
1878
1879 return tong;
1880 }
1881
1882 */
1883
1884 /*
1885 //xoa
1886 private string ChietKhau_PhanTram_Hoac_TienMat(string giaNhap, string soLuong, string chietKhau_PhanTram, string chietKhau_TienMat, bool chuoi_TheoChuan_CSDL)
1887 {
1888 double ketQua = 0;
1889
1890 double gNhap = 0;
1891 double sLuong = 0;
1892 double cKhau_pt = 0;
1893 double cKhau_tm = 0;
1894
1895 //
1896 if (chuoi_TheoChuan_CSDL == true)
1897 {
1898 gNhap = double.Parse(giaNhap);
1899 sLuong = double.Parse(soLuong);
1900 cKhau_pt = double.Parse(chietKhau_PhanTram);
1901 cKhau_tm = double.Parse(chietKhau_TienMat);
1902 }
1903 else
1904 {
1905
1906 if (string.IsNullOrEmpty(giaNhap))
1907 {
1908 gNhap = 0;
1909 }
1910 else
1911 {
1912 gNhap = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(giaNhap));
1913 }
1914
1915 if (string.IsNullOrEmpty(soLuong))
1916 {
1917 sLuong = 0;
1918 }
1919 else
1920 {
1921 sLuong = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(soLuong));
1922 }
1923
1924 if (string.IsNullOrEmpty(chietKhau_PhanTram))
1925 {
1926 cKhau_pt = 0;
1927 }
1928 else
1929 {
1930 cKhau_pt = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau_PhanTram));
1931 }
1932
1933 if (string.IsNullOrEmpty(chietKhau_TienMat))
1934 {
1935 cKhau_tm = 0;
1936 }
1937 else
1938 {
1939 cKhau_tm = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau_TienMat));
1940 }
1941 }
1942
1943 if (rdoBtnChietKhau_PhanTram.Checked == true)
1944 {
1945 //phan tram
1946 //-> txt = tien mat
1947 ketQua = gNhap * sLuong * cKhau_pt / 100;
1948 //txtChietKhau_TienMat.Text = CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tienMat.ToString(), false);
1949 }
1950 else
1951 {
1952 //tien mat
1953 //=> txt = %
1954 ketQua = (cKhau_tm * 100) / (gNhap * sLuong);
1955
1956 //txtChietKhau_PhanTram.Text = Math.Round(phanTram, 5).ToString(); //CauHinhHeThong.Format_HienThiKieuTien(phanTram.ToString(), false);
1957 }
1958 //tong = (gNhap * sLuong) - (gNhap * sLuong * cKhau / 100);
1959
1960 //txt = CauHinhHeThong.Format_HienThiKieuTien(tong.ToString(), false);
1961 return CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(ketQua.ToString(), false);
1962
1963 //return txt;
1964 }
1965
1966
1967 */
1968
1969 private void btnXoa_Click(object sender, EventArgs e)
1970 {
1971
1972 if (_IdKho > 0)
1973 {
1974 DialogResult dr = MessageBox.Show("Bạn có chắc chắn xóa?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
1975 if (dr == DialogResult.Yes)
1976 {
1977 //Xóa sản phẩm khỏi đơn hàng
1978 Controllers.KhoCtrl.DeleteKho(_IdKho);
1979
1980 //ẩn nút xóa
1981 btnXoa.Enabled = false;
1982
1983 this.btnClear_Click(sender, e);
1984 //this.HienThiDanhSachNhapHang();
1985
1986 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
1987 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
1988 _IdKho = 0;
1989
1990 txtMaSanPham.Focus();
1991
1992 }
1993 else
1994 {
1995 txtMaSanPham.Focus();
1996 return;
1997 }
1998
1999 }
2000
2001 }
2002
2003 private void button1_Click(object sender, EventArgs e)
2004 {
2005
2006 }
2007
2008 private void linkLabel_ThemMoiNCC_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2009 {
2010 frmNhaCungCap frmNCC = new frmNhaCungCap();
2011
2012 //Hiển thị thông tin nhà cung cấp sau khi chọn trong dgv danh sách ncc
2013 frmNCC.ChonNhaCungCap = new frmNhaCungCap.GetThongTinNCC(GetValue_ThongTinNCC);
2014
2015 frmNCC.ShowDialog();
2016 }
2017
2018 //0k
2019 private void dgvThue_CellClick(object sender, DataGridViewCellEventArgs e)
2020 {
2021 /*
2022 // CAN XEM LAI
2023 //Kiem tra dung click vao cell moi show dropdow
2024 if (dgvThue.Columns[e.ColumnIndex].Index == 3 && e.RowIndex != -1)
2025 {
2026 //-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
2027 if (dgvThue.CurrentCell != null && dgvThue.CurrentCell.Value != null)
2028 {
2029 dgvThue.BeginEdit(true);
2030 ComboBox cmb = (ComboBox)dgvThue.EditingControl;
2031 cmb.DroppedDown = true;
2032
2033
2034 }
2035
2036 }
2037 */
2038
2039 }
2040
2041 private void btnLuuThayDoi_Click(object sender, EventArgs e)
2042 {
2043 //txtThongBaoThanhCong.Text = "";
2044 //_Thue = 0;
2045 //_IdKho = 0;
2046 //int idkho = 0;
2047 //double thuenhaphang = 0;
2048
2049
2050
2051 /*
2052 foreach (DataGridViewRow dataRow in dgvThue.Rows)
2053 {
2054
2055 string col1 = dataRow.Cells[3].Value.ToString();
2056
2057 if (dataRow.Cells[0].Value != null)
2058 {
2059 // idkho = Int32.Parse(dataRow.Cells[0].Value.ToString());
2060
2061 //lay gia tri trong cmb
2062 //thuenhaphang = double.Parse(dataRow.Cells[3].Value.ToString());
2063
2064 // string SelectedText = Convert.ToString((dataRow.Cells[3] as DataGridViewComboBoxCell).FormattedValue.ToString());
2065 //int SelectedVal = Convert.ToInt32(dataRow.Cells["cmbThue"].Value);
2066
2067 // Controllers.KhoCtrl.UpdateKho_Thue(idkho, SelectedVal);
2068
2069
2070
2071
2072 }
2073 }//end foreach
2074 */
2075
2076 //this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, _NhaCungCapId, "NhapHang");
2077 this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
2078
2079 //txtThongBaoThanhCong.Text = "Lưu thành công";
2080
2081 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
2082
2083 }
2084
2085 private void rdoBtnChietKhau_PhanTram_CheckedChanged(object sender, EventArgs e)
2086 {
2087 txtChietKhau_PhanTram.Focus();
2088 }
2089
2090 private void rdoBtnChietKhau_TienMat_CheckedChanged(object sender, EventArgs e)
2091 {
2092 txtChietKhau_TienMat.Focus();
2093 }
2094
2095 private void txtChietKhau_PhanTram_Click(object sender, EventArgs e)
2096 {
2097 rdoBtnChietKhau_PhanTram.Checked = true;
2098 }
2099
2100 private void txtChietKhau_TienMat_Click(object sender, EventArgs e)
2101 {
2102 rdoBtnChietKhau_TienMat.Checked = true;
2103 }
2104
2105 private void txtChiPhiPhatSinh_PhanTram_Click(object sender, EventArgs e)
2106 {
2107
2108 //rdoBtnChiPhiPhatSinh_PhanTram.Checked = true;
2109 }
2110
2111 private void txtChiPhiPhatSinh_TienMat_Click(object sender, EventArgs e)
2112 {
2113 //rdoBtnChiPhiPhatSinh_TienMat.Checked = true;
2114
2115 }
2116
2117 private void rdoBtnChiPhiPhatSinh_PhanTram_Click(object sender, EventArgs e)
2118 {
2119 // txtChiPhiPhatSinh_PhanTram.Focus();
2120 }
2121
2122 /*
2123 private void rdoBtnChiPhiPhatSinh_TienMat_Click(object sender, EventArgs e)
2124 {
2125 txtChiPhiPhatSinh_TienMat.Focus();
2126 }
2127
2128 */
2129 private void txtChietKhau_TienMat_MouseCaptureChanged(object sender, EventArgs e)
2130 {
2131 //thao tac boi den textbox
2132 rdoBtnChietKhau_TienMat.Checked = true;
2133 //cho phep thay doi textbox
2134 loadlandau = false;
2135 }
2136
2137 private void txtChietKhau_PhanTram_MouseCaptureChanged(object sender, EventArgs e)
2138 {
2139 //thao tac boi den textbox
2140 rdoBtnChietKhau_PhanTram.Checked = true;
2141 //cho phep thay doi textbox
2142 loadlandau = false;
2143 }
2144
2145 private void txtThanhToan_Click(object sender, EventArgs e)
2146 {
2147 btnThanhToan.Enabled = true;
2148 loadlandau = false;
2149 }
2150
2151 private void txtThanhToan_MouseCaptureChanged(object sender, EventArgs e)
2152 {
2153 //thao tac boi den textbox
2154 btnThanhToan.Enabled = true;
2155 loadlandau = false;
2156 }
2157
2158 private void cmbDonViTinh_MouseClick(object sender, MouseEventArgs e)
2159 {
2160 //click vao thi hien thi dropdow
2161 cmbDonViTinh.DroppedDown = true;
2162 }
2163
2164 //cần xem lại hàm này ==============
2165 private int NhaCungCap_KiemTraTonTai()
2166 {
2167 _SoDienThoai_NCC = txtSoDienThoaiNCC.Text.Trim();
2168 _HoVaTen_NCC = txtHoVaTenNCC.Text.Trim();
2169 _DiaChi_NCC = txtDiaChiNcc.Text.Trim();
2170
2171 if (_getNhaCungCapId == 0)
2172 {
2173
2174 //Nhà cung cấp đã có trong csdl
2175 _getNhaCungCapId = Controllers.NhaCungCapCtrl.InsertNhaCungCap(_getNhaCungCapId, _TrangThai_NCC, _NgayTao, _HoVaTen_NCC, _SoDienThoai_NCC, _DiaChi_NCC, _TenCongTy_NCC, _Dc_Email_NCC, _NgayThanhLap_NgaySinh_NCC, _AnhDaiDien, _GhiChu_NCC);
2176 //nhà cung cấp chưa có trong csdl
2177 }
2178 else
2179 {
2180 //update nha cung cap
2181 Controllers.NhaCungCapCtrl.UpdateNhaCungCap_HoTenVaDc(_getNhaCungCapId, _TrangThai_NCC, DateTime.Now, _HoVaTen_NCC, _SoDienThoai_NCC, _DiaChi_NCC);
2182
2183 }
2184
2185 return _getNhaCungCapId;
2186 }
2187
2188 private double TongTienMotDonHang_All(int IdNhapHang)
2189 {
2190 DataTable dtKho = new DataTable();
2191
2192 double tongDh = 0;
2193
2194 dtKho = Controllers.NhapHangCtrl.FillDataSet_NhapHang_GetAll_Kho_ByNhapHangId(IdNhapHang).Tables[0];
2195 if (dtKho.Rows.Count > 0)
2196 {
2197 double gnhap = 0;
2198 double sluong = 0;
2199 double thue = 0;
2200 double ckPt = 0;
2201 string chietkhautheo = "";
2202
2203 double tienchietkhau = 0;
2204
2205 foreach (DataRow item in dtKho.Rows)
2206 {
2207 gnhap = double.Parse(item["GiaNhap"].ToString());
2208 sluong = double.Parse(item["SoLuong"].ToString());
2209 thue = double.Parse(item["Thue"].ToString());
2210 ckPt = double.Parse(item["ChietKhauPhanTram"].ToString());
2211 chietkhautheo = item["ChietKhauTheo"].ToString();
2212 tienchietkhau = double.Parse(item["TienChietKhau"].ToString());
2213
2214 tongDh += CauHinhHeThong.TinhTongMot_MatHang(gnhap, sluong, ckPt, tienchietkhau, chietkhautheo, thue);// (gnhap * sluong) - tienchietkhau + (gnhap * sluong * thue / 100);
2215 }
2216
2217 }
2218
2219 return tongDh;
2220 }
2221
2222
2223 //Tính tổng tiền của một đơn hàng cần thanh toán
2224 private double TongTienMotDonHang_TruMotMatHang(int IdNhapHang, int IdKho)
2225 {
2226 DataTable dtKho = new DataTable();
2227 //tongTienMot_DonHang_TruMatHangDangEdit = 0;
2228 //tongTienMot_MatHang_DangEdit = 0;
2229
2230 double tongDh = 0;
2231
2232 dtKho = Controllers.NhapHangCtrl.FillDataSet_NhapHang_GetAll_Kho_ByNhapHangId(IdNhapHang).Tables[0];
2233 if (dtKho.Rows.Count > 0)
2234 {
2235 double gnhap = 0;
2236 double sluong = 0;
2237 double thue = 0;
2238 double ckPt = 0;
2239 string chietkhautheo = "";
2240
2241 double tienchietkhau = 0;
2242
2243 foreach (DataRow item in dtKho.Rows)
2244 {
2245 if (Int32.Parse(item["IdKho"].ToString()) != IdKho)
2246 {
2247 gnhap = double.Parse(item["GiaNhap"].ToString());
2248 sluong = double.Parse(item["SoLuong"].ToString());
2249 thue = double.Parse(item["Thue"].ToString());
2250 ckPt = double.Parse(item["ChietKhauPhanTram"].ToString());
2251 chietkhautheo = item["ChietKhauTheo"].ToString();
2252 tienchietkhau = double.Parse(item["TienChietKhau"].ToString());
2253
2254 tongDh += CauHinhHeThong.TinhTongMot_MatHang(gnhap, sluong, ckPt, tienchietkhau, chietkhautheo, thue);// (gnhap * sluong) - tienchietkhau + (gnhap * sluong * thue / 100);
2255
2256 }
2257 }
2258
2259 }
2260
2261 return tongDh;
2262 }
2263
2264
2265
2266 private void txtGiaNhap_Click(object sender, EventArgs e)
2267 {
2268 //cho phep thay doi textbox
2269 loadlandau = false;
2270 }
2271
2272 private void txtGiaNhap_MouseCaptureChanged(object sender, EventArgs e)
2273 {
2274 //cho phep thay doi textbox
2275 loadlandau = false;
2276 }
2277
2278 private void txtSoLuong_MouseCaptureChanged(object sender, EventArgs e)
2279 {
2280 //cho phep thay doi textbox
2281 loadlandau = false;
2282 }
2283
2284 private void txtSoLuong_Click(object sender, EventArgs e)
2285 {
2286 //cho phep thay doi textbox
2287 loadlandau = false;
2288 }
2289
2290 /*
2291 //x0a
2292 private double TongTienMot_MatHang_GetForm(string _txtGiaNhap, string _txtSoLuong, string _chietKhauPhanTram, string _chietKhauTien, string _ckTheo, double _txtthue)
2293 {
2294 double gNhap = 0;
2295 double sLuong = 0;
2296 double cKhauPt = 0;
2297 double tienCK = 0;
2298
2299 double tongTMotMatHang_GetForm = 0;
2300
2301 if (!string.IsNullOrEmpty(_txtGiaNhap))
2302 {
2303 gNhap = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtGiaNhap));
2304 }
2305
2306 if (!string.IsNullOrEmpty(_txtSoLuong))
2307 {
2308 sLuong = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtSoLuong));
2309 }
2310
2311 if (!string.IsNullOrEmpty(_chietKhauPhanTram))
2312 {
2313 cKhauPt = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauPhanTram));
2314 }
2315
2316 if (!string.IsNullOrEmpty(_chietKhauTien))
2317 {
2318 tienCK = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauTien));
2319 }
2320
2321
2322 if (_ckTheo == "PhanTram")
2323 {
2324 tongTMotMatHang_GetForm = (gNhap * sLuong) + (gNhap * sLuong * _txtthue / 100) - (gNhap * sLuong * cKhauPt / 100);
2325 }
2326 else
2327 {
2328 //chiet khau theo tien
2329 tongTMotMatHang_GetForm = (gNhap * sLuong) + (gNhap * sLuong * _txtthue / 100) - tienCK;
2330 }
2331
2332 return tongTMotMatHang_GetForm;
2333 }
2334 */
2335
2336 /*
2337 //xoa
2338 private double TongTienMot_MatHang_GetDgv(string _txtGiaNhap, string _txtSoLuong, string _chietKhauPhanTram, string _chietKhauTien, string _ckTheo, double _txtthue)
2339 {
2340 double gNhap = 0;
2341 double sLuong = 0;
2342 double cKhauPt = 0;
2343 double tienCK = 0;
2344
2345 double tongTMotMatHang_GetDgv = 0;
2346
2347 if (!string.IsNullOrEmpty(_txtGiaNhap))
2348 {
2349 gNhap = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtGiaNhap));
2350 }
2351
2352 if (!string.IsNullOrEmpty(_txtSoLuong))
2353 {
2354 sLuong = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtSoLuong));
2355 }
2356
2357 if (!string.IsNullOrEmpty(_chietKhauPhanTram))
2358 {
2359 cKhauPt = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauPhanTram));
2360 }
2361
2362 if (!string.IsNullOrEmpty(_chietKhauTien))
2363 {
2364 tienCK = double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauTien));
2365 }
2366
2367
2368 if (_ckTheo == "PhanTram")
2369 {
2370 tongTMotMatHang_GetDgv = (gNhap * sLuong) + (gNhap * sLuong * _txtthue / 100) - (gNhap * sLuong * cKhauPt / 100);
2371 }
2372 else
2373 {
2374 //chiet khau theo tien
2375 tongTMotMatHang_GetDgv = (gNhap * sLuong) + (gNhap * sLuong * _txtthue / 100) - tienCK;
2376 }
2377
2378 return tongTMotMatHang_GetDgv;
2379 }
2380
2381 */
2382
2383 //-https://stackoverflow.com/questions/17664576/multiplication-of-the-values-of-two-textboxes-and-displaying-result-in-the-third
2384 private double TongMotMH_GetForm()
2385 {
2386 double gNhap = 0;
2387 double sLuong = 0;
2388 double cKhauPt = 0;
2389 double tienCK = 0;
2390
2391 double tongGetForm = 0;
2392
2393 bool isGNhap = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(), true).ToString(), out gNhap);
2394 bool isSLuong = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true).ToString(), out sLuong);
2395 bool isCkPt = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true).ToString(), out cKhauPt);
2396 bool isCKTm = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true).ToString(), out tienCK);
2397
2398 _thueMotMatHang = double.Parse(cmbThue.SelectedValue.ToString());
2399
2400 if (isGNhap && isSLuong && isCkPt && isCKTm)
2401 {
2402 tongGetForm = CauHinhHeThong.TinhTongMot_MatHang(gNhap, sLuong, cKhauPt, tienCK, this.ChietKhau_Theo, _thueMotMatHang);
2403 }
2404 else
2405 {
2406 tongGetForm = 0;
2407 }
2408
2409 return tongGetForm;
2410 }
2411
2412
2413 private void HienThiDonHangTextChanged()
2414 {
2415 double tong1mh = 0;
2416 tong1mh = this.TongMotMH_GetForm();
2417
2418 //return tong1mh;
2419 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh, true);
2420
2421 _tongDonHangAll = tong1mh + _tongDonHang;
2422
2423 txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll, true);
2424 }
2425
2426 /*
2427 private void HienThiDonHangView()
2428 {
2429 double tong1mh = 0;
2430 tong1mh = this.TongMotMH_GetForm();
2431
2432 //return tong1mh;
2433 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh);
2434
2435 double tong1donh = tong1mh + _tongDonHang;
2436
2437 lblTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1donh);
2438 }
2439 */
2440
2441 /*
2442 private void HienThiTong_MotMH(int IdK)
2443 {
2444 double tong1mh = 0;//
2445 double tong1donh = 0;// this.TongTienThanhToanTrongDonHang(_IdNhapHang, _IdKho);
2446
2447 tong1mh = this.TongMotMH_GetForm();
2448
2449 /*
2450 if (IdK == 0)
2451 {
2452 tong1donh = this.TongTienThanhToanTrongDonHang(_IdNhapHang, 0);
2453 }
2454 else
2455 {
2456
2457 tong1donh = this.TongTienThanhToanTrongDonHang(_IdNhapHang, _IdKho);
2458 tong1donh = tong1donh + tong1mh;
2459 }
2460 *
2461
2462 tong1donh = this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
2463 tong1donh = tong1donh + tong1mh;
2464
2465
2466 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh);
2467
2468 //lblTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1donh);
2469 }
2470 */
2471 private double ChietKhau_GetForm()
2472 {
2473 double gNhap = 0;
2474 double sLuong = 0;
2475 double cKhauPt = 0;
2476 double tienCK = 0;
2477 double ck = 0;
2478
2479 bool isGNhap = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(), true).ToString(), out gNhap);
2480 bool isSLuong = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true).ToString(), out sLuong);
2481 bool isCkPt = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true).ToString(), out cKhauPt);
2482 bool isCKTm = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true).ToString(), out tienCK);
2483
2484 if (ChietKhau_Theo == "PhanTram")
2485 {
2486 ck = CauHinhHeThong.TinhTienChietKhau(gNhap, sLuong, cKhauPt);
2487 }
2488 else
2489 {
2490 ck = CauHinhHeThong.TinhPhanTramChietKhau(gNhap, sLuong, tienCK);
2491 }
2492
2493 return ck;
2494 }
2495
2496 private void btnNhapMoi_Click(object sender, EventArgs e)
2497 {
2498 _getNhapHangId = 0;//them moi don hang
2499
2500 //Khoi sang tab sanh sách sản phẩm
2501 tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
2502
2503 //Nhập thêm hàng vào kho
2504 this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, 0, "");
2505
2506 lblTrangThaiDonHang.Text = "Thêm đơn hàng";
2507
2508 txtnoNCC.Text = "0";
2509 txtTienDaThanhToan.Text = "0";
2510 txtThanhToan.Text = "0";
2511
2512 }
2513
2514 private void GetValue_ThongTinNCC(int idNhaCungCap, string hoVaTen, string soDienThoai, string diaChi, bool btnTrangThai)
2515 {
2516 if (btnTrangThai == true)
2517 {
2518 _getNhaCungCapId = idNhaCungCap;
2519 txtSoDienThoaiNCC.Text = soDienThoai;
2520 txtHoVaTenNCC.Text = hoVaTen;
2521 txtDiaChiNcc.Text = diaChi;
2522 //Hien lable dia chi
2523 lblDiaChiNcc.Visible = true;
2524 }
2525 }
2526
2527
2528
2529 private void linkLabel_ChiTietThanhToan_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2530 {
2531 //khong hien popup thanh toan khi idnhap hang = 0
2532 if (_getNhapHangId == 0)
2533 {
2534 MessageBox.Show("Không có lịch sử thanh toán!");
2535 return;
2536 }
2537
2538 //frmNhapHang_ThanhToan frmNH_TT = new frmNhapHang_ThanhToan(_IdNhapHang, "tbl_NhapHang");
2539 frmNhapHang_ThanhToan frmNH_TT = new frmNhapHang_ThanhToan(_getNhapHangId, "tbl_NhapHang");
2540 //lay so tien da thanh toan
2541
2542
2543 frmNH_TT.ShowDialog();
2544
2545
2546 dttt = Controllers.ThanhToanCtrl.FillDataSet_GetThanhToan_GetTongTien(0, _getNhapHangId, "tbl_NhapHang").Tables[0];
2547
2548 if (dttt.Rows.Count > 0)
2549 {
2550
2551 tienDtt = CauHinhHeThong.Format_SoDeTinhToan(dttt.Rows[0]["TongSoTienThanhToan"].ToString(), false);
2552
2553 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt, true);
2554 }
2555
2556 }
2557
2558 private void txtMaVietTat_KeyDown(object sender, KeyEventArgs e)
2559 {
2560 if (e.KeyCode == Keys.Enter)
2561 {
2562 e.SuppressKeyPress = true;
2563
2564 txtMaSanPham.Text = string.Empty;
2565
2566 this.EnterSanPham(false);
2567
2568 }
2569 }
2570
2571 /*
2572
2573 private void dgvThue_CellEndEdit(object sender, DataGridViewCellEventArgs e)
2574 {
2575 if (cbm != null)
2576 {
2577 // Here we will remove the subscription for selected index changed
2578 cbm.SelectedIndexChanged -= new EventHandler(cbm_SelectedIndexChanged);
2579 }
2580 }
2581 */
2582 //--https://www.daniweb.com/programming/software-development/threads/452140/is-there-a-datagridview-event-when-a-combobox-value-changes
2583 //private void dgvThue_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
2584 //{
2585 /*
2586 // Here try to add subscription for selected index changed event
2587 if (e.Control is ComboBox)
2588 {
2589 cbm = (ComboBox)e.Control;
2590 if (cbm != null)
2591 {
2592 cbm.SelectedIndexChanged += new EventHandler(cbm_SelectedIndexChanged);
2593 }
2594 currentCell = this.dgvThue.CurrentCell;
2595 }
2596 */
2597 //}
2598
2599 /*
2600 private void combo_SelectedIndexChanged(object sender, EventArgs e)
2601 {
2602 string selected = (sender as ComboBox).SelectedItem.ToString();
2603
2604 MessageBox.Show(selected);
2605
2606 //lấy id
2607 BeginInvoke(new MethodInvoker(EndEdit));
2608
2609
2610 }
2611 */
2612
2613
2614
2615 void cbm_SelectedIndexChanged(object sender, EventArgs e)
2616 {
2617 // Invoke method if the selection changed event occurs
2618 BeginInvoke(new MethodInvoker(EndEdit));
2619 }
2620
2621 void EndEdit()
2622 {
2623 // Change the content of appropriate cell when selected index changes
2624 /*
2625 if (cbm != null)
2626 {
2627 DataRowView drv = cbm.SelectedItem as DataRowView;
2628 if (drv != null)
2629 {
2630 this.dgvThue[currentCell.ColumnIndex + 1, currentCell.RowIndex].Value = drv[2].ToString();
2631 this.dgvThue.EndEdit();
2632 }
2633 }
2634 */
2635 }
2636
2637 private void cmbThue_SelectionChangeCommitted(object sender, EventArgs e)
2638 {
2639 //double tong1mh = 0;
2640 //tong1mh = this.TongMotMH_GetForm();
2641
2642 //return tong1mh;
2643 //lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh, true);
2644
2645 this.HienThiDonHangTextChanged();
2646 }
2647
2648 private void linkLabel_QuanLyDonViTinh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2649 {
2650 frmDonViTinh frmdvt = new frmDonViTinh();
2651
2652 frmdvt.ShowDialog();
2653
2654 this.HienThiDonViTinh_ComboBox();
2655
2656 }
2657
2658 private int DonHangDangNhap_La()
2659 {
2660 try
2661 {
2662 _TenDonHang = txtTenDonHang.Text.Trim();
2663 }
2664 catch { }
2665
2666 try
2667 {
2668 _GhiChu = txtGhiChu.Text.Trim();
2669 }
2670 catch { }
2671
2672
2673 //Kiểm tra khởi tạo bảng nhập hàng
2674 if (_getNhapHangId == 0)
2675 {
2676 _getNhapHangId = Controllers.NhapHangCtrl.InsertNhapHang(0, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _getNhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
2677
2678 _thueMotMatHang = 0;
2679
2680 cmbThue.SelectedValue = "0";
2681
2682 //tc = Controllers.CongNoCtrl.InsertCongNo(_IdCongNo, _TieuDe, _LoaiThuChi, _NgayTao, "SuDung", _SoTien, thueThuChi, _DienGiai, "", "0", "0", _GhiChu, _HinhThuc, _getNhapHangId);
2683
2684 }
2685 else
2686 {
2687 Controllers.NhapHangCtrl.UpdateNhapHang_Ten_GhiChu(_getNhapHangId, _TenDonHang, _GhiChu);
2688 }
2689
2690
2691 return _getNhapHangId;
2692
2693 }
2694
2695 //Hiển thị thông tin nhập hàng
2696 private void HienThiThongTinDonHang_NhapHang(int idNhapHang)
2697 {
2698 //Hiển thị trong textbox
2699 DataTable dtNH = new DataTable();
2700 dtNH = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNhapHangId(idNhapHang).Tables[0];
2701
2702 //double No_NCC = 0;
2703 if (dtNH.Rows.Count > 0)
2704 {
2705 //txtMaDonHang.Text = "DH" + idNhapHang.ToString();
2706
2707 txtTenDonHang.Text = dtNH.Rows[0]["TenDonHang"].ToString();
2708
2709 //double cpthem = CauHinhHeThong.Format_SoDeTinhToan(dtNH.Rows[0]["ChiPhiThem"].ToString(), false);
2710
2711 //txtChiPhiPhatSinh_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(cpthem, true);
2712
2713 //txtMoTaChiPhiPhatSinh.Text = dtNH.Rows[0]["MoTaChiPhiThem"].ToString();
2714
2715 txtGhiChu.Text = dtNH.Rows[0]["GhiChu"].ToString();
2716
2717 //txtNgayTao.Text = dtNH.Rows[0]["NgayTao"].ToString();
2718
2719 //labelTrangThai.Text = CauHinhHeThong.TrangThai_NhapHang(dtNH.Rows[0]["TrangThai"].ToString());
2720 }
2721 else
2722 {
2723 txtTenDonHang.Text = "";
2724
2725 txtGhiChu.Text = "";
2726 }
2727 }
2728
2729 //
2730
2731 }
2732 }